package com.yc.cloud.openai.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yc.cloud.common.orm.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 知识库内容集合
 * </p>
 *
 * @author Yancy
 * @since 2025-01-08
 */
@Getter
@Setter
@TableName("gpt_dataset_collection")
@ApiModel(value = "GptDatasetCollection对象", description = "知识库内容集合")
public class GptDatasetCollection extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("名称")
    @TableField("name")
    private String name;

    @ApiModelProperty("知识库ID")
    @TableField("dataset_id")
    private Long datasetId;

    @ApiModelProperty("知识库文件集合ID")
    @TableField("collection_id")
    private String collectionId;

    @ApiModelProperty("父ID")
    @TableField("parent_id")
    private Long parentId;

    @ApiModelProperty("训练模式")
    @TableField("training_type")
    private String trainingType;

    @ApiModelProperty("每个 chunk 的长度")
    @TableField("chunk_size")
    private Integer chunkSize;

    @ApiModelProperty("分割符号")
    @TableField("chunk_splitter")
    private String chunkSplitter;

    @ApiModelProperty("qa拆分自定义提示词")
    @TableField("qa_prompt")
    private String qaPrompt;

    @ApiModelProperty("文件ID")
    @TableField("file_id")
    private String fileId;

    public static final String DATASET_ID = "dataset_id";

    public static final String PARENT_ID = "parent_id";

    public static final String TRAINING_TYPE = "training_type";

    public static final String CHUNK_SIZE = "chunk_size";

    public static final String CHUNK_SPLITTER = "chunk_splitter";

    public static final String QA_PROMPT = "qa_prompt";
}
